56 research outputs found
Reverse Engineering and Testing of Rich Internet Applications
The World Wide Web experiences a continuous and constant evolution, where new initiatives, standards, approaches and technologies are continuously proposed for developing more effective and higher quality Web applications.
To satisfy the growing request of the market for Web applications, new technologies, frameworks, tools and environments that allow to develop Web and mobile applications with the least effort and in very short time have been introduced in the last years.
These new technologies have made possible the dawn of a new generation of Web applications, named Rich Internet Applications (RIAs), that offer greater usability and interactivity than traditional ones. This evolution has been accompanied by some drawbacks that are mostly due to the lack of applying well-known software engineering practices and approaches. As a consequence, new research questions and challenges have emerged in the field of web and mobile applications maintenance and testing.
The research activity described in this thesis has addressed some of these topics with the specific aim of proposing new and effective solutions to the problems of modelling, reverse engineering, comprehending, re-documenting and testing existing RIAs.
Due to the growing relevance of mobile applications in the renewed Web scenarios, the problem of testing mobile applications developed for the Android operating system has been addressed too, in an attempt of exploring and proposing new techniques of testing automation for these type of applications
Toward Reverse Engineering of VBA Based Excel Spreadsheet Applications
Modern spreadsheet systems can be used to implement complex spreadsheet
applications including data sheets, customized user forms and executable
procedures written in a scripting language. These applications are often
developed by practitioners that do not follow any software engineering practice
and do not produce any design documentation. Thus, spreadsheet applications may
be very difficult to be maintained or restructured. In this position paper we
present in a nutshell two reverse engineering techniques and a tool that we are
currently realizing for the abstraction of conceptual data models and business
logic models.Comment: In Proceedings of the 2nd Workshop on Software Engineering Methods in
Spreadsheets (http://spreadsheetlab.org/sems15/
Do Memories Haunt You? An Automated Black Box Testing Approach for Detecting Memory Leaks in Android Apps
Memory leaks represent a remarkable problem for mobile app developers since a waste of memory due to bad programming practices may reduce the available memory of the device, slow down the apps, reduce their responsiveness and, in the worst cases, they may cause the crash of the app. A common cause of memory leaks in the specific context of Android apps is the bad handling of the events tied to the Activity Lifecycle. In order to detect and characterize these memory leaks, we present FunesDroid, a tool-supported black box technique for the automatic detection of memory leaks tied to the Activity Lifecycle in Android apps. FunesDroid implements a testing approach that can find memory leaks by analyzing unnecessary heap object replications after the execution of three different sequences of Activity Lifecycle events. In the paper, we present an exploratory study that shows the capability of the proposed technique to detect memory leaks and to characterize them in terms of their size, persistence and growth trend. The study also illustrates how memory leak causes can be detected with the support of the information provided by the FunesDroid tool
Alternatives for testing of context-aware software systems in non-academic settings:results from a <i>Rapid Review</i>
Context: Context-awareness challenges the engineering of contemporary software systems and jeopardizes their
testing. The variation of context represents a relevant behavior that deepens the limitations of available software
testing practices and technologies. However, such software systems are mainstream. Therefore, researchers in
non-academic settings also face challenges when developing and testing contemporary software systems.
Objective: To understand how researchers deal with the variation of context when testing context-aware software
systems developed in non-academic settings.
Method: To undertake a secondary study (Rapid Review) to uncover the necessary evidence from primary sources
describing the testing of context-aware software systems outside academia.
Results: The current testing initiatives in non-academic settings aim to generate or improve test suites that can
deal with the context variation and the sheer volume of test input possibilities. They mostly rely on modeling the
systems’ dynamic behavior and increasing computing resources to generate test inputs to achieve this. We found
no evidence of test results aiming at managing context variation through the testing lifecycle process.
Conclusions: So far, the identified testing initiatives and strategies are not ready for mainstream adoption. They
are all domain-specific, and while the ideas and approaches can be reproduced in distinct settings, the technologies are to be re-engineered and tailored to the context-awareness of contemporary software systems in
different problem domains. Further and joint investigations in academia and experiences in non-academic set-
tings can evolve the body of knowledge regarding the testing of contemporary software systems in the field
Artificial intelligence applied to software testing:a tertiary study
Context: Artificial intelligence (AI) methods and models have extensively been applied to support different phases of the software development lifecycle, including software testing (ST). Several secondary studies investigated the interplay between AI and ST but restricted the scope of the research to specific domains or sub-domains within either area.Objective: This research aims to explore the overall contribution of AI to ST, while identifying the most popular applications and potential paths for future research directions.Method: We executed a tertiary study following well-established guidelines for conducting systematic literature mappings in software engineering and for answering nine research questions.Results: We identified and analyzed 20 relevant secondary studies. The analysis was performed by drawing from well-recognized AI and ST taxonomies and mapping the selected studies according to them. The resulting mapping and discussions provide extensive and detailed information on the interplay between AI and ST.Conclusion: The application of AI to support ST is a well-consolidated and growing interest research topic. The mapping resulting from our study can be used by researchers to identify opportunities for future research, and by practitioners looking for evidence-based information on which AI-supported technology to possibly adopt in their testing processes
Web application testing in fifteen years of WSE
Over the last fifteen years, Web applications have evolved from the early simple and hyper-text based ones into the more complex, interactive, usable and adaptive applications of the new generations. New paradigms, architectures, and technologies for developing Web-based systems continuously emerge and transform this specific context. At the same time, new techniques and tools for effectively testing them have been proposed. This paper reports some relevant contributions about the Web application testing topic that appeared in the past editions of the Web Systems Evolution international symposium (WSE) and discusses some future trends for this specific field
- …